Les mois passés auront été pour moi synonyme d’économie, non seulement pour dépenser moins, mais dépenser mieux. J’ai utilisé pendant la dernière décennie un MacBookPro de 2008 et puis un de 2016 (le fameux avec la Touch Bar). Ce dernier a rapidement montrer des signes de défaillances au niveau du clavier (problème reconnu et corriger gratuitement par Apple). Cela sans compter la batterie qui ne tient pas plus de 2h, une machine qui chauffe beaucoup et des mises à jour d’Apple qui ne prennent plus en compte les machines anciennes et qui font ressembler MacOS à iOS…
J’ai des besoins différents certainement des vôtres, ce qui influ sur le type de matériel que je choisierai. Posez-vous la question de vos besoins ? Pour faire quelques emails par semaine et du traitement de texte, un tableur de temps à autre et voir Netflix, avez-vous réellement besoin d’une machine à 3000frs ? Il est sain de choisir un système d’exploitation selon les logiciels que l’on souhaite utiliser. Par exemple si vous êtes graphiste et spécialisé dans la suite Adobe, il faudra choisir entre MacOS et Windows. Idem pour certains logiciels de comptabilité ou d’architecture. En revanche il existe plétor de logiciel de qualité, généralement gratuit, sur les plateformes GNU/Linux et BSD.
Apple est devenu ce que la société voulait justement combattre, un Mac est tellement conventionnel depuis !
Alors que faire ? Dans cet article je vous propose de remettre à niveau une machine de 2011 et la rendre aussi rapide et aussi productive qu’un MacBookPro. Ainsi pour moins de 300frs, on aura un ordinateur portable largement capable de traiter vos emails, documents, vidéso, avec une autonomie de 9h, clavier rétro-éclairé et des ports standards (plus besoin d’adaptateur USB-C hors de prix).
Mise à jour du X230
Je me suis concentré sur la marque Lenovo (anciennement IBM) pour la qualité du matériel et sa modularité. On peut en effet presque tout remplacer, chose impossible dans les machines ou smartphones de dernière génération de la marque à la pomme. On part donc sur le modèle X230, à noter que cela fonctionne très bien pour la plupart des autres modèles Lenovo. J’ai personnellement changé la mémoire, la batterie et le disque sur des modèles x220 et w530 sans soucis. L’opération est extrêment simple et est détaillée ci-dessous. Je voulais toutefois aller un peu plus loin et remplacer le BIOS de base par une version open source, plus rapide et plus sécurisée. Il s’agit d’une opération plus complexe et optionnelle, une fois le premier chapitre effectué, vous pouvez sans autre vous arrêter là. Pour les curieux ou les courageux, continuez au dernier chapitre.
BOM
- Lenovo Thinkpad X230 avec Intel Core i5-3320M @ 2.60GHz
- Kingston 2x 8Go de mémoire : https://amzn.to/3ovGsUm
- 1 batterie de 9 cellules neuve : https://amzn.to/39g8rku
- 1 disque SSD Samsung de 500Go (SATA3) : https://amzn.to/3q5vCEM
Les étapes
- La batterie tient avec 2 petites gaches qu’il suffit de faire coulisser
- Une fois la trappe “mémoire” ouverte, on retire délicatement les anciennes barettes mémoires et on insert, tout aussi délicatement, les nouvelles barettes - on referme la trappe
- Le disque dur est accessible depuis une petite trappe sur le côté gauche (écran contre la table)
Remplacer le BIOS
Les références :
- https://www.coreboot.org/Lesson1
- https://www.chucknemeth.com/laptop/lenovo-x230/flash-lenovo-x230-coreboot
- https://tylercipriani.com/blog/2016/11/13/coreboot-on-the-thinkpad-x220-with-a-raspberry-pi/
- https://0xdd.org/x230coreboot/
BOM
- RaspberryPi 3B+ : https://amzn.to/2JZBAHX
- Pomona 5250 test-clip 8 pins : https://bit.ly/38tNeo4
- des câbles femelle-femelle : https://amzn.to/3bpOieC
Préparation du RaspberryPi
$ sudo apt-get install -y flashrom bison build-essential curl flex git gnat-5 libncurses5-dev m4 zlib1g-dev
$ cd ~
$ mkdir x230 && cd x230
$ git clone https://review.coreboot.org/coreboot
$ git submodule update --init --recursive
$ cd ~/coreboot/3rdparty
$ git clone http://review.coreboot.org/blobs.git
$ cd ~/coreboot/util/ifdtool
$ make && sudo make install
$ cd ~
$ git clone https://github.com/corna/me_cleaner
Sauvegarde du BIOS actuel
$ cd ~/x230
$ sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -c "chip1/chip2" -r top001.bin
$ sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -c "chip1/chip2" -r top002.bin
$ sha512sum top00*
$ cd ~/x230
$ sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -c "chip1/chip2" -r bottom001.bin
$ sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -c "chip1/chip2" -r bottom002.bin
$ sha512sum bottom00*
Suppression de Intel ME
$ cd ~/x230
$ cat bottom001.bin top001.bin > x230-bios.rom
$ cd ~/coreboot/util/me_cleaner
$ python me_cleaner.py -c ~/x230/x230-bios.rom
$ python me_cleaner.py -S -O ~/x230/x230-bios-cleaned.rom ~/x230/x230-bios.rom
$ cd ~/x230/
$ ifdtool --unlock x230-bios-cleaned.rom
$ mv x230-bios-cleaned.rom.new x230-bios-cleaned-unlocked.rom
$ ifdtool --extract x230-bios-cleaned-unlocked.rom
Extraction des blobs
$ mkdir -p ~/coreboot/3rdparty/blobs/mainboard/lenovo/x230
$ mv flashregion_* ~/coreboot/3rdparty/blobs/mainboard/lenovo/x230
$ cd ~/coreboot/3rdparty/blobs/mainboard/lenovo/x230
$ mv flashregion_0_flashdescriptor.bin descriptor.bin
$ mv flashregion_1_bios.bin bios.bin
$ mv flashregion_2_intel_me.bin me.bin
$ mv flashregion_3_gbe.bin gbe.bin
Préparation du nouveau BIOS
$ cd ~/coreboot
$ make crossgcc-i386 CPUS=$(nproc)
$ make -C payloads/coreinfo olddefconfig
$ make -C payloads/coreinfo
$ make menuconfig
$ make savedefconfig
$ make
Installation du nouveau BIOS
$ cd ~/coreboot/build
$ dd if=coreboot.rom of=coreboot-bottom.rom bs=1M count=8
$ dd if=coreboot.rom of=coreboot-top.rom bs=1M skip=8
$ sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -c "chip1/chip2" -w coreboot-bottom.rom
$ sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -c "chip1/chip2" -w coreboot-top.rom